/**
 * 
 */
package com.gwcloud.leetcode.tags.backtrace;

/**
 * @ClassName   : Leetcode357 
 * @author      : ganwei 
 * @date        : 2020年5月11日
 * @Description : Leetcode357
 */
public class Leetcode0357 {
	/**
	 * - 该题用数学方法比较简单，抛弃回溯了
	 */
    public int countNumbersWithUniqueDigits(int n) {
    	if(n == 0){
    		return 1;
    	}
    	int first = 10, second = 81;
    	int size = Math.min(n, 10);
    	for(int i = 2; i <= size; i++){
    		first += second;
    		second *= 10-i;
    	}
    	return first;
    	
    }
    
    public static void main(String[] args) {
    	Leetcode0357 l357 = new Leetcode0357();
    	System.out.println(l357.countNumbersWithUniqueDigits(3));
    }
}
